Non-transitory computer-readable recording medium, information processing apparatus and printing method

ABSTRACT

When a general-use printing program receives a print instruction to cause a printer to execute printing of an image, a supporting program obtains status information of the printer from the printer and determines, based on the status information, whether a display condition is satisfied. The display condition is a condition to display a message based on the status information. When it is determined that the display condition is satisfied, the supporting program display the massage on a UI of a PC.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. Pat. ApplicationNo. 17/496,248 filed on Oct. 7, 2021 which is a continuation applicationof U.S. Pat. Application No. 16/795,694 filed on Feb. 20, 2020, now U.S.Pat. No. 11,144,265 issued on Oct. 12, 2021 which claims priority under35 U.S.C. §119 from Japanese Patent Application No. 2019-061740 filed onMar. 27, 2019. The entire subject matter of the applications areincorporated herein by reference.

RELATED ART

There has been widely known a technique to control a printer from aninformation processing apparatus such as a personal computer, aconfiguration of installing a printer driver in the informationprocessing apparatus, generating print data using the printer driver andtransmitting the print data to the printer. The printer driver isprovided by a manufacturer of the printer and is adapted to variousfunctions the printer has, and thus can make full use of the printer.

SUMMARY

Recently, a technique of controlling a printer using a general-useprinting program which is standardly implemented in an operating system(OS), without using the above-mentioned printer driver, has been inpractical use. According to such a technique, when the OS detects aprinter, the OS associates the printer with the OS-standard printingprogram. Thereafter, it becomes possible that, when the OS receives aprint instruction corresponding to the printer, printing is executedusing the OS-standard general-use printing program, without using theprinter driver.

Even in the above-mentioned printing using the OS-standard general-useprinting program, as with the printing using the printer driver, aprocess corresponding to a print instruction output by the applicationterminates when print data is accumulated in a print queue of the OS. Inorder for the user to thereafter obtain information concerning the printdata, the user needs to operate a user interface of the OS which isburdensome for the user.

The present specification discloses a technique in which, in aninformation processing apparatus in which an OS-standard general-useprinting program is implemented, the user can easily obtain informationconcerning processes that are based on the print instruction.

According to aspects of the present disclosure, there is provided anon-transitory computer-readable recording medium for an informationprocessing apparatus, the information processing apparatus having acontroller, a general-use printing program being implemented in anoperating system of the information processing apparatus, the recordingmedium containing computer-executable programs realizing a supportingprogram corresponding to a printer connectable to the informationprocessing apparatus. The supporting program causing, when executed bythe controller, the information processing apparatus to perform anobtaining process, a determining process and a displaying process inresponse to the general-use printing program receiving a printinstruction to cause the printer to execute printing of an image. Theobtaining process is a process of obtaining information of the printerfrom the printer through a communication interface of the informationprocessing apparatus. The determining process is a process ofdetermining, based on the obtained information of the printer, whether adisplay condition is satisfied, the display condition being a conditionto output a message regarding the information. The displaying process ofa process of displaying the message on a display of the informationprocessing apparatus when it is determined that the display condition issatisfied in the determining process.

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS

FIG. 1 is a block diagram showing an electrical configuration of a printsystem.

FIG. 2 is a sequential chart showing an example of an order ofoperations by respective programs.

FIGS. 3A-3B are diagrams showing examples of data structures, and FIG.3A shows print data and FIG. 3B shows current state information.

FIGS. 4A-4D are diagrams of a UI showing examples of messages.

FIG. 5 is a sequential chart showing an example of an order ofoperations by respective programs.

FIG. 6 is a sequential chart showing an example of an order ofoperations by respective programs.

DETAILED DESCRIPTION OF THE EMBODIMENT

Hereinafter, referring to the accompanying drawings, a print systemusing programs according to the embodiment will be described in detail.The present embodiment shows a concrete example of the print systemincluding a personal computer (hereinafter, referred to as a “PC”) and aprinter.

An example of a configuration of a print system in which programsaccording to the embodiment are executed is shown in FIG. 1 . The systemshown in FIG. 1 includes a PC 1, a printer 2 and a printer 3. The PC 1is an example of an information processing apparatus. The printer 2 andthe printer 3 are devices having a printing function and are configuredto communicate with the PC 1 through a local communication or a networkcommunication. it is noted that a plurality of printers 2 may beconnected to the PC 1.

As shown in FIG. 1 , the PC 1 includes a controller 10, a user interface(hereinafter, referred to as a “UI”) 20 and a communication interface(hereinafter, referred to as a “communication I/F”) 30. The UI 20 andthe communication I/F 30 are electrically connected to the controller10.

The UI 20 includes hardware configured to display various pieces ofinformation and receive user’s input of instructions. The UI 20 mayinclude a touch panel having both an input receiving function and adisplaying function, or a combination of a display having a displayingfunction and a keyboard and/or a mouse having an input receivingfunction. The UI 20 is an example of a display device.

The communication I/F 30 includes hardware configured to communicatewith the printer 2 and a hardware configured to access the Internet. Thecommunication I/F 30 may include multiple interfaces respectivelyemploying different communication methods. Examples of the communicationmethods may include the network communication, a USB communication andthe like. Further, the communication methods may be wired or wireless.

The controller 10 includes a CPU 11 and a memory 12. The CPU 11 is anexample of a computer. The memory 12 includes a ROM, a RAM, anon-volatile memory and a buffer of the CPU 11, and stores variousapplication programs (hereinafter, referred to as “APP’s”) and variouspieces of data. According to the present specification, details of thememories could be ignored and any memory having a suitable functioncould be employed as the memory 12. The CPU 11 executes variousprocesses in accordance with programs retrieved from the memory 12 or inaccordance with user’s instructions. It is noted that the controller 10in FIG. 1 is a collective name including hardware and software used tocontrol the PC 1 and does not necessarily represent a single piece ofhardware.

An example of the memory 12 may be a computer-readable storage medium.The computer-readable storage medium is a non-transitory medium.Examples of the non-transitory medium are, besides the above-describedmemory 12, recording mediums such as a CD-ROM, a DVD-ROM and the like.It is noted that the non-transitory medium is also a tangible medium. Incontrast, an electric signal carrying a program, which is beingdownloaded from a server on the Internet, is a signal medium which is akind of computer-readable media, but not included in the non-transitorycomputer-readable medium.

The memory 12 stores, as shown in FIG. 1 , the OS 21 implemented with ageneral-use printing program 41, a supporting program 42 and an editingAPP 43. The supporting program 42 is an example of a supporting program.The supporting program 42 is, for example, a hardware support APP(abbreviated as HSA) of which specification is published by MicrosoftCorporation. The OS 21 is, for example, Microsoft Windows®, MacOS® orLinux®. It is noted that, in the memory 12, in addition to the data/APPshown in FIG. 1 , various pieces of data including information regardingconnected device, various programs of browser and the like are stored.

The general-use printing program 41 is an APP to cause various printerssuch as the printer 2 to execute printing from the PC 1 and is anOS-standard printing program which is implemented in the OS 21 inadvance. The general-use printing program 41 according to the presentembodiment is configured to generate print data the printer can use forprinting based on image data subjected to be printed.

The general-use printing program 41 is a general-purpose APP which canbe used for any of a plurality of models of printers supplied by variousprinter venders. The general-use printing program 41 is configured tocause any of the plurality of models of printers to perform operationswhich are commonly implemented in the plurality of models of printers.Alternatively, the general-use printing program 41 may be a programsupplied from the printer venders to a vender of the OS 21 (e.g., theprogram may be a kind of printer driver, which is supplied by a printervender, to be implemented in the OS 21 in advance) so that thegeneral-use printing program 41 is implemented in the OS 21 in advance.

The supporting program 42 is a program which executes processes based onthe instruction by the OS 21 in association with the startup of thegeneral-use printing program 41 and an APP which supports controlling ofhardware, such as the printer 2, subjected to the instruction. Thesupporting program 42 is started, for example, by the general-useprinting program 41. The supporting program 42 is a program that isprepared by printer venders, such as a vender of the printer 2, for eachtype of printers. For example, a supporting program 42 for inkjetprinters and a supporting program 42 for laser printers are prepared.The supporting program 42 may be prepared not only for each type ofprinters but also for each model or for each model series of printers.

The vender of the printer registers the supporting program 42 with aplatform supplied by the vender of the OS 21 in accordance with aprocedure designated by the vender of the OS 21. When a printer 2 isnewly connected to the PC 1 and the supporting program 42 correspondingto the printer 2 is registered with the platform, the OS 21 downloadsthe supporting program 42 from a sever in which the supporting program42 is stored and implements the same in the PC 1.

Then, the OS 21 associates identification information of the implementedsupporting program 42 with the printer information of the newlyconnected printer 2 and stores the same in the memory 12. In the PC 1 towhich a plurality of models of printers are connected, a plurality ofsupporting programs respectively corresponding to a plurality of typesof the plurality of models are implemented in the OS 21, and informationassociating the plurality of printers with the plurality of supportingprograms is stored in the memory 12. That is, in the memory 12, as theprinter information for each of the printers connected to the PC 1,information on the supporting program 42 corresponding to each printeris stored in addition to the model information and the accessinformation of each printer.

The editing APP is, for example, an APP for generating and/or editingimage data and document data. Examples of the editing APP 43 areMicrosoft Word® and Power Point®. Further, the editing APP 43 may be anAPP provided by the vender of the printer 2 and/or printer 3. Theediting APP 43 is configured to receive a user operation including aninstruction to cause the printer 2 to perform a particular operation.Specifically, for example, the editing APP 43 receives, through the UI20, a print instruction which causes the printer 2 to execute printing.

It is noted that processes described below basically indicate processesof the CPU 11 in accordance with instructions described in respectiveprograms such as the supporting program 42. That is, in the followingdescription of the processes and steps, terms “determine,” “extract,”“select,” “calculate,” “identify,” “obtain,” “receive,” “control” andthe like are those performed by the CPU 11. It is noted that theprocesses by the CPU 11 include controlling of hardware using an API ofthe OS 21. In the following description, operations of the programs willbe described with omitting the detailed description of the OS 21. Thatis, in the following description, a description “a program B controlshardware C” may be interpreted to “a program B uses the API of the OS 21to control the hardware C.” Further, a process of the CPU 11 inaccordance with the instruction described in a program may be describedin a simplified manner. For example, the name of the program is omittedand simply described such that “the CPU 11 performs.” Further, a processof the CPU 11 in accordance with an instruction described in the programmay be described in a simplified manner such that “the program Aperforms” with omitting the term “CPU.”

It is noted that the term “obtain” is used to mean that a request is notnecessarily be made. That is, a process of the CPU 11 to receive datawithout any request is included within a concept that “the CPU 11obtains data.” Further, the term “data” in the present specification isused to mean a bit array readable by a computer. Multiple pieces of datahaving different formats but substantially the same contents will betreated as the same data. So is the information in the presentspecification. It is noted that terms “request” and “instruct” representconcepts of outputting information indicating something is requested andinformation indicating something is instructed, respectively. It is alsonoted that information representing something is requested or somethingis instructed may be simply referred to by terms “request” or“instruct.”

Further, a process of the CPU 11 to determine whether or not informationA indicates an event B may be described conceptually such that “the CPU11 determines whether event B or not based on information A.”Furthermore, a process of the CPU 11 to determine whether informationindicates event B or event C may be described conceptually such that“the CPU 11 determines whether event B or event C based on informationA.”

Next, a configuration of the supporting program 42 and a printingprocedure including processes based on the supporting programs 42 of thepresent embodiment will be generally described with reference to FIGS.2-6 . It is noted that, in FIGS. 2, 5 and 6 , same numerals are used forcommon processes.

The supporting program 42 is a program that the general-use printingprogram 41 instructs to execute when a print instruction to executeprinting using the general-use printing program 41 is received throughthe editing APP 43 or the like in a state where a printer correspondingto the supporting program 42 is designated. In the followingdescription, a case where the PC 1 receives, through the UI 20 (e.g.,with the editing APP 43), an instruction to execute printing with theprinter 2 through the general-use printing program 41 in a state whereimage data subjected to be printed is designated and the supportingprogram 42 corresponding to a type of a model of the printer 2 isimplemented in the PC 1 will be described.

As shown in FIG. 2 , firstly, the editing APP 43 receives, through theUI 20, designation of an image subjected to be printed and an input ofan instruction to execute printing (arrow A). An image that the editingAPP 43 displays is an example of an image subjected to be printed. Theediting APP 43 displays, for example, documents edited with the editingAPP 43 or pictures and the like read with the editing APP 43 as theimage. Then, the editing APP 43 which received the print instructiondelivers a print execution notification indicating contents of receivedprint instruction to the OS 21. It is noted that, in FIG. 2 and in FIGS.5 and 6 which will be described later, operations of the OS 21 areomitted.

When the print execution notification indicating usage of thegeneral-use printing program 41 is received, the OS 21 activates thegeneral-use printing program 41 and delivers the print executionnotification to the general-use printing program 41 (arrow B). Thegeneral-use printing program 41 can obtain, from the print executionnotification, various pieces of information included in the printinstruction such as information indicating a printer to be caused toexecute printing, print queue information for identifying a print queue,information indicating print parameters set with the APP, informationindicating image data subjected to be printed, and information foridentifying a user who instructed to execute printing. It is noted that,as will be described later, these pieces of information can be used inthe supporting program 42 as well.

The general-use printing program 41 generates intermediate image data byconverting a format of the image data included in the print executionnotification to a format of the intermediate image data and generates aprint job including the intermediate image data (arrow C). There arevarious types of image data as the image data included in the editingAPP 43, and the general-use printing program 41 converts the receivedimage data to the intermediate image data that is suitable for thegeneration of the print data. It is noted that, if the image dataincluded in the print execution notification is suitable for thegeneration of the print data, the intermediate image data generationprocess may be omitted and the image data may be directly used as theintermediate image data. The intermediate image data is, for example,XPS format data.

Further, the general-use printing program 41 identifies, based on theinformation included in the print execution notification, a printerdesignated as a device to be caused to execute printing. For example,when the printer 2 is designated as the device to be caused to executeprinting, the general-use printing program 41 identifies the model ofthe printer 2 based on the model information of the printer included inthe printer information stored in the memory 12. Then, since thesupporting program 42 corresponding to the printer 2 designated by theprint instruction is stored in the memory 12, the general-use printingprogram 41 activates the supporting program 42 prior to startinggeneration of the print data by the general-use printing program 41 byoutputting an execution command for causing the supporting program 42 toexecute processes (arrow D). It is noted that the general-use printingprogram 41 may activate the supporting program 42 after the general-useprinting program 41 generates the print data.

In response to the execution command, the supporting program 42determines whether one or more specific settings are included in theprint parameters (arrow E). The arrow E is an example of a determiningprocess, and a determining condition at the arrow E is an example of adisplay condition. The print parameters may be print parameters whichthe general-use printing program 41 obtained from the editing APP 43 andattached to the execution command. Or the print parameters may be printparameters which the supporting program 42 received by, for example,displaying a print parameter editing screen.

The print parameters include general-use parameters, such as a parameterindicating a sheet size, to which the general-use printing program 41 isadapted and intrinsic parameters, such as a parameter indicating a typeof sheet, intrinsic to a printer and to which the general-use printingprogram 41 is not adapted. If the editing APP 43 is not an APP that isprovided by a vender of the printer 2, only the general-use parameterswill be attached to the execution command. If the editing APP 43 is anAPP that is provided by the vender of the printer 2, it is possible thatthe general-use parameters and the intrinsic parameters of the printer 2will be attached to the execution command. It is noted that, in a casewhere only the general-use parameters are attached to the executioncommand, the supporting program 42 may add the intrinsic parameters tothe execution command and process the print parameters.

Among the settings by the print parameters, there are settings, such assetting designating a high-quality sheet (e.g., a postcard) as the typeof sheet, which are preferable to be confirmed by the user beforeexecuting printing. Therefore, the supporting program 42 designates,among the settings that can be set by the print parameters, setting tobe confirmed by the user before executing printing as specific setting.

For example, if “postcard”, being one of the setting of the type ofsheet, is designated as the specific setting, the supporting program 42determines whether a setting value of a print parameter indicating thetype of sheet is “postcard” or not. If the setting value of the printparameter indicating the type of sheet is “postcard”, the supportingprogram 42 determines that the settings by the print parameters includethe specific setting and displays a message (arrow F). The arrow F is anexample of a displaying process.

Specifically, for example, the supporting program 42 causes the UI 20 todisplay a dialogue 110 shown in FIG. 4A at arrow F. In the dialogue 110,a confirmation message 114 for letting the user confirm whether theprinting on a postcard may be continued to be executed is displayed. Inthe dialogue 110, a “continue printing” button 111 for instructing tocontinue printing and a “cancel” button 112 for instructing to cancelprinting are also displayed.

If the user operated the “cancel” button 112 (arrow G), the supportingprogram 42 outputs a cancel notification indicating that printing it tobe cancelled to the general-use printing program 41 (arrow H). Thegeneral-use printing program 41 aborts the printing in response to thecancel notification (arrow I) and outputs a printing cancel notificationindicating that printing has been cancelled to the editing APP 43 (arrowJ). It is expected that the user who realized that the specific settingwas made as a result of the displaying of the confirmation message 114will change the setting value and instruct to execute printing again.

It is noted that the change in the setting value may be received throughthe supporting program 42 or through the editing APP 43. Also, as with adialogue 120 shown in FIG. 4B which will be described later, a “reset”button 123 may be provided to the dialogue 110 as well and processessimilar to those at the arrows R-T and D shown in FIG. 5 , which will bedescribed later, may be executed in response to an operation of the“reset” button 123.

On the other hand, when the user operates the “continue printing” button111 (arrow G), the supporting program 42 executes an editing process forediting the intermediate image data attached to the execution command inaccordance with the print parameters (arrow K) and delivers, to thegeneral-use printing program 41, an end notification indicating that theediting process has been finished (arrow L). The general-use printingprogram 41 generates the print data based on the intermediate image dataincluded in the end notification output from the supporting program 42(arrow M). That is, the general-use printing program 41 generates theprint data while the setting value of the print parameter indicating thetype of sheet is set to “postcard”. It is noted that the intermediateimage data may be the one generated by the general-use printing program41. The print data generated by the general-use printing program 41 isprint data of a format that can be used in printing with various typesof printers. The print data is, for example, PWG Raster format data orPDF format data.

It is noted that the supporting program 42 deletes the displayeddialogue 110 in response to the operation of the “continue printing”button 111 or the “cancel” button 112 and terminates the displaying ofthe message. It is noted that the supporting program 42 may beconfigured not to display the “continue printing” button 111 or the“cancel” button 112 in the dialogue 110. In that case, for example, thesupporting program 42 is configured to terminate the displaying of themessage when a particular time period has elapsed and continue printing.

After the generation of the print data, the general-use printing program41 transmits a print command including the generated print data to theprinter 2 (arrow N). It is noted that the supporting program 42 may havefunctions to process the print data such as an adding function ofadding, to the print data, commands for causing the printer 2 to executefunctions unique to the printer 2. In this case, the general-useprinting program 41 may transmit the processed print data to the printer2. As shown in FIG. 3A, the print data includes, for example, printeridentifying information for identifying a printer which executes theprint job, printing image data being data of images to be printed, andthe print parameters.

The printer 2 which received the print command executes printing of animage of print data in accordance with the print data attached to theprint command. If print data to which commands are attached is received,the printer 2 executes operations indicated by the commands whenexecuting printing. It is noted that, after the process for editing theprint data is finished, the supporting program 42 may transmit the printcommand to the printer 2 through the communication I/F 30 without usingthe general-use printing program 41.

The above-mentioned processes at the arrows E and F need to be executedonly once for one print job. The timings for executing the processes atthe arrows E and F are not limited to the above-mentioned timings.Provided that the timings are before the transmission of the print datato the printer 2, the timings may be, for example, after the editingprocess, before the generation of the print data, or after thegeneration of the print data. Nonetheless, execution of uselessprocesses for generating print data that will not be printed can beavoided by executing the processes at the arrows E and F before theediting process.

For example, as shown in FIG. 5 , after receiving a print parametercorresponding to the print instruction, the supporting program 42requests current state information, being information concerning theprinter 2, from the printer 2 and obtains the current state information(arrow O). The arrow O is an example of an obtaining process. The printparameters may be received by receiving the print parameters attached tothe execution command or by receiving settings of the print parametersthrough the intermediate image data editing process. It is noted thatthe supporting program 42 obtains identity information of a printerindicated by the execution command output from the general-use printingprogram 41 and requests the current state information from a printerindicated by the obtained identity information.

The current state information includes a plurality of pieces ofinformation such as, for example, status information and settinginformation as shown in FIG. 3B.

The status information is information indicating a state of the printer2 which executes a print job. The status information includes, forexample, information indicating a free space of a memory foraccumulating print jobs, job information indicating progress status ofthe print job, information indicating amounts of remaining colorants,information indicating whether the printer 2 has a finisher, andinformation indicating whether there remains staple needles for thefinisher.

The job information includes information indicating one of “underprinting” indicating that printing of a print job is under execution,“finished printing” indicating that printing of a print job has beenfinished, “pausing printing” indicating that printing of a print job ispaused, and “standby” indicating a state of awaiting the finish ofprinting of another print job. The printer 2 can receive a cancellingoperation for cancelling printing through an operation part. In case theprinter 2 received the cancelling operation, the job informationincludes pieces of information indicating “finished printing” and“cancelling operation: YES”. On the other hand, in case the printer 2finished printing without receiving the cancelling operation, the jobinformation does not include information indicating “cancellingoperation: YES” but includes information indicating “finished printing”.

To the information indicting “pausing printing”, information indicatinga type of an error such as paper jam, out of paper or running out ofcolorants is added. When receiving a plurality of pieces of print data,the printer 2 processes the pieces of print data stored in an internalmemory in turn. Therefore, states of print jobs to be executed by theprinter 2 include a state of being under printing, a state in whichprinting is finished, and a standby state. The states of print jobs alsoinclude errors such as out of paper or paper jam and a state in whichprinting has been finished due to the cancelling operation. In responseto the request from the PC 1, the printer 2 detects its state andreturns the current state information.

It is noted that “pausing printing” is an example of status informationindicating a status in which a print job corresponding to a printinstruction cannot be executed, and “finished printing” is an example ofstatus information indicating a status in which a print jobcorresponding to a print instruction can be executed.

If the current state information could be received from the printer 2,that is, if the supporting program 42 is possible to communicate withthe printer 2, the supporting program 42 stores, in the memory 12, thecurrent state information in which information indicating “online” isadded to the status information. The information indicating “online”indicates that the printer 2 can communicate with the PC 1. On the otherhand, if the supporting program 42 is impossible to communicate with theprinter 2 due to communication error or because the printer 2 is notturned on, the supporting program 42 stores, in the memory 12, thecurrent state information in which information indicating “pausingprinting” and information indicating “offline” are added to the statusinformation.

The memory for accumulating print jobs is a storage area for anaccumulation printing with the printer 2. To the information indicatinga free space of the memory for accumulating print jobs, for example,information indicating “memory is full” is set when there is no freespace in the memory for accumulating print jobs, and informationindicating an amount of free space in the memory for accumulating printjobs is set when there is a free space in the memory for jobaccumulation.

The setting information is information including setting values that areset in the printer 2. The printer 2 has an operation part for receivinginputs of various settings. The printer 2 has a function of receiving,through the operation part, for example, inputs of setting value ofsheet sizes and sheet types of a sheet to be set in respective trays anda setting value of color/monochromatic printing and storing the settingvalues in the internal memory. When returning the setting values of thesheet sizes and the sheet types in response to the request from the PC1, the printer 2 may return information indicating the sheet sizes andthe sheet types stored in the internal memory to the PC 1 or, if theprinter 2 has a function of detecting the sheet sizes and the sheettypes, the printer 2 may return the detection result to the PC 1.

The above-mentioned current state information includes intrinsicinformation and general-use information. The intrinsic information isinformation to which the general-use printing program 41 is not adapted,that is, status information and setting information that are intrinsicto the printer 2. Examples of the intrinsic information are informationconcerning optional units included in the status information such as theinformation indicating whether there are finishers, whether thereremains staple needles and whether stapling is possible; informationconcerning the memory for accumulating print jobs such as theinformation indicating “memory is full”; information concerning thecancelling operation on the printer 2; and the setting values of thesheet types included in the setting information.

On the other hand, the general-use information is information that isgenerally used and to which the general-use printing program 41 isadapted, that is, information that the OS 21 can understand. Examples ofthe general-use information are the states of a print job, the errors,the communicating states and the amounts of colorants remaining that areincluded in the status information; and the setting values of the sheetsize and the color/monochromatic printing included in the settinginformation. It is noted that the intrinsic information is an example offirst information and the general-use information is an example ofsecond information.

Referring back to FIG. 5 , upon storing the current state informationobtained from the printer 2 in the memory 12, the supporting program 42determines whether setting values of the print parameters of a print jobcorresponding to the print instruction are coincide with setting valuesindicated by the setting information included in the current stateinformation obtained from the printer 2 and corresponding to the printparameters (arrow P). The arrow P is an example of the determiningprocess, and the determining condition at the arrow P is an example ofthe display condition.

For example, the supporting program 42 compares the setting values ofthe print parameters and the setting values indicated by the settinginformation included in the current state information. For example, ifthe setting value of the print parameter indicating the sheet type is“glossy paper” and the setting value of the sheet type included in thecurrent state information obtained from the printer 2 is “standardpaper”, the supporting program 42 determines that the setting values ofthe print parameters and the setting values indicated by the settinginformation do not coincide, and causes the UI 20 to display a message(arrow Q). The process at the arrow Q is an example of the displayingprocess.

Specifically, for example, the supporting program 42 causes the UI 20 todisplay a dialogue 120 shown in FIG. 4B. The message 124 displayed on inthe dialogue 120 notifies that the setting values of the printparameters and the setting values indicated by the setting informationdo not coincide (e.g., the setting of the sheet type is not adapted tothe printer 2). In the dialogue 120, a “continue printing” button 121for instructing to continue printing, a “cancel” button 122 forinstructing to cancel printing and a “reset” button 123 for changing theprint settings are also displayed.

For example, as shown in FIG. 5 , when the user operates the “reset”button 123 through the UI 20 (arrow R), the supporting program 42outputs a return notification to the general-use printing program 41(arrow S). In response to the return notification, the general-useprinting program 41 outputs an execution command again (arrows T and D).Due to the execution command, for example, a setting screen for settingthe print parameters is displayed in the editing process by thesupporting program 42. Since it is likely that the user changes thesetting value of the print parameter indicating the sheet type from the“glossy paper” to the “standard paper” on this setting screen, itbecomes less likely that the printer 2 executes printing that the userdoes not intend.

On the other hand, if the user operated the “continue printing” button121 through the UI 20 (arrow R), the supporting program 42 executes theediting process (arrow K) and continues the printing (arrows K to N).Since the user permitted to execute printing on the standard paperthrough the dialogue 120, it is less likely that the user instructs toexecute the printing again. That is, necessity of re-execution ofprinting can be suppressed.

Upon the user operates the “cancel” button 122 through the UI 20 (arrowR), the supporting program 42 outputs the cancel notification to thegeneral-use printing program 41 (arrow H). The general-use printingprogram 41 aborts printing in response to the cancel notification (arrowI) and outputs the printing cancel notification to the editing APP 43(arrow J). According to this configuration, outputs of print productsthat are not intended by the user can be suppressed.

It is noted that the processes at the arrows P and Q may be executedonce for every receipt of the setting of the print parameters. Also, thetiming for executing the processes at the arrows P and Q is not limitedto the above-described timing but may be, for example, after the editingprocess, before the generation of the print data or after the generationof the print data.

As shown in FIG. 6 , as the general-use printing program 41 generatesprint data in response to the end notification from the supportingprogram and transmits the print data to the printer 2 (arrow N), theprinter 2 stores the print data in the internal memory and executesprinting (arrow V). After outputting the end notification to thegeneral-use printing program 41 (the arrow L shown in FIG. 5 ), thesupporting program 42 periodically requests the current stateinformation from the printer 2 and receives current state informationreturned from the printer 2 (arrow U). The supporting program 42generates a list from the received current state information and storesthe list in the memory 12.

The supporting program 42 determines whether the printer 2 satisfies thedisplay condition based on the current state information from theprinter 2, that is, for example, the supporting program 42 determineswhether the job information indicates “pausing printing” or whether thecurrent state information indicates “finished printing” (arrow W), anddisplays a message when the display condition is satisfied (arrow X).The arrow U is an example of the obtaining process, the arrow W is anexample of the determining process, and the arrow X is an example of thedisplaying process. The determining condition at the arrow U is anexample of the display condition.

By obtaining and updating the current state information at regularintervals, it becomes possible for the supporting program 42 to displaya message based on the latest current state information. It is notedthat, for example, the supporting program 42 may obtain the settinginformation from the printer 2 only once and display a message regardingthe setting information when the general-use printing program 41transmits the print data to the printer 2. Further, the supportingprogram 42 may obtain the current state information other than thesetting information and display a message regarding the current stateinformation other than the setting information at regular intervals.According to this configuration, communication load for periodicallyobtaining the current state information can be reduced.

For example, when the supporting program 42 received status informationshown in FIG. 3B indicating “pausing printing” and “out of paper” fromthe printer 2, the supporting program 42 displays a message (arrow X).

Specifically, for example, the supporting program 42 causes the UI 20 todisplay a dialogue 130 shown in FIG. 4C. In the dialogue 130, an errormessage 134 notifying that the printer 2 has paused printing, a contentof an error and a method for resolving the error is displayed. In thedialogue 130, information 135 indicating a progress status of a printjob is also displayed. It is noted that the error message 134 needs notinclude the content of an error and/or the method for resolving theerror. Furthermore, the information 135 need not be displayed.

The printer 2 resumes printing upon papers are refilled. After resumingprinting, the printer 2 returns the status information includinginformation indicating “under printing” to the PC 1 in response to therequest from the PC 1. The supporting program 42 determines that theerror has been resolved as the job information changes from “pausingprinting” to “under printing” and terminates the displaying of thedialogue 130. It is noted that, when a particular time period haselapsed since the displaying of the dialogue 130, the supporting program42 may terminate the displaying of the dialogue 130.

If printing by the printer 2 is finished and the current stateinformation includes job information indicating “finished printing”, thesupporting program 42 displays a message (arrow X), terminates thecurrent state information monitoring process (a repetition of the arrowsU-X), and terminates the displaying of the message after a particulartime period has elapsed.

Specifically, for example, the supporting program 42 causes the UI 20 todisplay a dialogue 140 shown in FIG. 4D. In the dialogue 140, a finishedprinting message 144 notifying that printing has been finished andinformation 145 indicating a progress status of a print job aredisplayed. It is noted that the information 145 need not be displayed.After a particular time period has elapsed from the displaying of thedialogue 140, the supporting program 42 terminates the displaying of thedialogue 140. It is noted that the message notifying that printing hasbeen finished may be displayed not only when printing has been normallyfinished but also when, for example, printing has been terminated in ananomalous state such as when forced termination is instructed throughthe operation part of the printer 2.

It is noted that, in the above-described displaying processes at thearrow F shown in FIG. 2 , at the arrow Q shown in FIG. 5 and at thearrow X shown in FIG. 6 , the messages may be displayed based on boththe intrinsic information and the general-use information, or onlymessages based on the intrinsic information may be displayed withoutdisplaying messages based on the general-use information. This isbecause it is likely that the intrinsic information is important inexecuting a print job and thus it is likely that displaying of themessages is needed.

In case displaying of the error message or the finished printing messageis to be terminated upon a particular time period has elapsed, theparticular time period may be changed in accordance with the displaycondition. For example, when a message of a warning level, such as amessage notifying that a print job cannot be executed due to, forexample, run out of paper or paper jam, is displayed, the message may bedisplayed for a long time or until the error is resolved. Further, whena message of a cautioning level, such as a message notifying that aprint job can be executed but will shortly become impossible to executeprinting due to shortage in colorants, is displayed, the displaying ofthe message may be terminated in a short time.

The supporting program 42 may start periodically repeating the requestsfor the current state information (corresponding to the arrow O shown inFIG. 5 and the arrow U shown in FIG. 6 ) in response to the general-useprinting program 41 receiving the print instruction for causing theprinter 2 to execute printing (the arrow A shown in FIGS. 2, 5 and 6 )or in response to receipt of the execution command from the general-useprinting program 41 (the arrow D shown in FIGS. 2, 5 and 6 ). In thiscase, the supporting program 42 may execute the determinations at thearrow P shown in FIG. 5 and the arrow W shown in FIG. 6 based on theresult of the periodic repeat of the requests. Furthermore, in thiscase, the supporting program 42 may terminate the periodic repeat of therequests for the current state information in response to the cancellingoperation (the arrow H shown in FIGS. 2 and 5 ) or the finish ofprinting by the printer (the arrow X shown in FIG. 6 ).

As described above, the supporting program 42 obtains current stateinformation of the printer 2 from the printer 2 and causes the UI 20 todisplay a message based on the obtained current state information whenthe current state information satisfies a display condition. Accordingto such supporting program 42, the user can easily obtain current stateinformation concerning a print job without operating the UI 20 of the OS21 by confirming the message displayed on the UI 20.

It is noted that the present embodiment is only an illustrative exampleand is not intended to limit aspects of the present disclosures.Accordingly, the present disclosures can be modified or enhanced withoutdeparting from aspects of the disclosures. For example, the deviceconnected to the PC 1 need not be limited to the printer but may be anydevice which has a printing function (e.g., an MFP, a copier, afacsimile machine and the like). Further, the number of printersconnected to the PC 1 need not be limited to that in the illustratedexample but may be one or three or more.

A module that executes each of the processes of the present embodimentis not limited to the supporting program 42 but may be a program thatreceives instructions form the OS 21 when executing printing using thegeneral-use printing program 41 of the OS 21. For example, the modulemay be a print workflow app (i.e., Print workflow) of whichspecification is disclosed by Microsoft.

The supporting program 42 may delete the message displayed at the arrowX shown in FIG. 6 is response to an operation through the UI 20. Thesupporting program 42 may continue the periodic repeat of the requestsfor the current state information (the arrow U shown in FIG. 6 ) afterdisplaying a message at the arrow X shown in FIG. 6 , and when statusinformation including job information different from “pausing printing”is received from the printer, that is, for example, when job informationindicating “under printing” or “standby” is received, the supportingprogram 42 may automatically delete the message. According to thisconfiguration, since information of which necessity to be displayed islow is deleted automatically, it becomes possible to suppresstroublesomeness for the user.

At the arrow X shown in FIG. 6 , the massage indicating that printinghas been finished need not be displayed. Nonetheless, by displaying themassage indicating that printing has been finished, it becomes easierfor the user to recognize the fact that printing has been finished whichis useful for the user.

A cancel button may be provided to the dialogue 130 shown in FIG. 4C tomake it possible for the user to cancel printing when an error occurred.In this case, since it becomes possible to execute a subsequent printjob, usability of the print system improves. The information 135 or theinformation 145 shown in FIG. 4 may be displayed since receipt of theprint instruction until the print job corresponding to the printinstruction is finished.

In any of the sequential charts disclosed in the embodiment, the orderof multiple processes at arbitrary multiple steps may be changedarbitrarily or may be executed in parallel unless there occurs conflictsin processing contents.

The processes disclosed in the present embodiment may be executed by asingle CPU, a plurality of CPU’s, hardware such as an ASIC or acombination thereof. Further, the processes disclosed in the presentembodiment may be realized by various modes such as a non-transitoryrecording medium storing programs for executing the processes, methodsfor executing the processes and the like.

What is claimed is:
 1. A non-transitory computer-readable recordingmedium for an information processing apparatus, the informationprocessing apparatus having a display, a controller, and an operatingsystem which has a general-use printing program, the informationprocessing apparatus being configured to communicate with a printer, thegeneral-use printing program being configured to receive a printinstruction to cause the printer to execute printing of an image, togenerate print data based on the received print instruction, and tooutput the generated print data, wherein the non-transitorycomputer-readable recording medium containing computer-executableprograms realizing a supporting program corresponding to the printer,the computer-executable programs being different from the general-useprinting program, wherein, in response to the general-use printingprogram receiving the print instruction to cause the printer to executeprinting of the image, the computer-executable programs cause, whenexecuted by the controller, the information processing apparatus toperform: obtaining, from the printer, status information including firstinformation to which the general-use printing program is not adapted andsecond information to which the general-use printing program is adapted;controlling a display content to be displayed on the display, thedisplay content including a first content corresponding to the firstinformation to which the general-use printing program is not adapted. 2.The non-transitory computer-readable recording medium according to claim1, wherein the first information includes information of a sheet type.3. The non-transitory computer-readable recording medium according toclaim 1, wherein the first information includes information of afinisher having a stapling function.
 4. The non-transitorycomputer-readable recording medium according to claim 1, wherein thedisplay content displayed in the controlling includes at least onebutton for receiving a user operation.
 5. The non-transitorycomputer-readable recording medium according to claim 4, wherein, the atleast one button includes a cancel button for canceling the printing ofthe image.
 6. The non-transitory computer-readable recording mediumaccording to claim 4, wherein the at least one button includes acontinue printing button for continuing the printing of the image. 7.The non-transitory computer-readable recording medium according to claim1, wherein the display content is displayed before the print data isoutputted to the printer.
 8. The non-transitory computer-readablerecording medium according to claim 7, wherein the display content isdisplayed before the print data is outputted from the general-useprinting program to the printer.
 9. The non-transitory computer-readablerecording medium according to claim 1, wherein the computer-executableprograms cause, when executed by the controller, the informationprocessing apparatus to further perform determining an error occurred inthe printer based on status information obtained from the printer, andwherein, in the controlling, an error message corresponding to the errordetermined in the determining as information indicating status of theprinter is displayed on the display.
 10. A printing system comprising aprinter and an information processing apparatus, the informationprocessing apparatus having a display, a controller, and an operatingsystem which has a general-use printing program, the informationprocessing apparatus being configured to communicate with the printer,the general-use printing program being configured to receive a printinstruction to cause the printer to execute printing of an image, togenerate print data based on the received print instruction, and tooutput the generated print data, wherein the printer is configured to:transmit status information including first information to which thegeneral-use printing program is not adapted and second information towhich the general-use printing program is adapted; and receive printdata from the information processing apparatus and execute printingbased on the print data, wherein the information processing apparatuscomprising a storage storing computer-executable programs realizing asupporting program corresponding to the printer, the computer-executableprograms being different from the general-use printing program, andwherein, in response to the general-use printing program receiving theprint instruction to cause the printer to execute printing of the image,the computer-executable programs cause, when executed by the controller,the information processing apparatus to perform: obtaining, from theprinter, status information including first information to which thegeneral-use printing program is not adapted and second information towhich the general-use printing program is adapted; and controlling adisplay content to be displayed on the display, the display contentincluding a first content corresponding to the first information towhich the general-use printing program is not adapted.
 11. The printingsystem according to claim 10, wherein the first information includesinformation of a sheet type.
 12. The printing system according to claim10, wherein the first information includes information of a finisherhaving a stapling function.
 13. The printing system according to claim10, wherein the display content displayed in the controlling includes atleast one button for receiving a user operation.
 14. The printing systemaccording to claim 13, wherein the at least one button includes a cancelbutton for canceling the printing of the image.
 15. The printing systemaccording to claim 13, wherein the at least one button includes acontinue printing button for continuing the printing of the image. 16.The printing system according to claim 10, wherein the display contentis displayed before the print data is outputted to the printer.
 17. Theprinting system according to claim 16, wherein, the display content isdisplayed before the print data is outputted from the general-useprinting program to the printer.
 18. The printing system according toclaim 10, wherein, the computer-executable programs cause, when executedby the controller, the information processing apparatus to furtherperform determining an error occurred in the printer based on statusinformation obtained from the printer, and wherein, in the controlling,an error message corresponding to the error determined in thedetermining as information indicating status of the printer is displayedon the display.